#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QMdiSubWindow>
#include <QMap>

#include "drawings/subjectwindow.h"

namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

private:
    Ui::MainWindow *ui;

    //Возможности окна
    //Зарегистрированные флаги включения дествий
    QMap<QString,QAction*> features;

    //Панели инструментов
    QMap<QString,QToolBar*> toolBars;

    //Отключить все возможности и инструменты
    void disableFeatures();

    //Статические свойства
    static const QString bugTrackerUrl;
    static const QString companyName;
    static const QString appicationName;

public:
    MainWindow();
    ~MainWindow();

    //Открыть окно в mdi области
    void openMdiTab(SubjectWindow* win);

protected:
    //Перехват выхода из приложения
    void closeEvent(QCloseEvent *event);

public slots:
    //Закрытие таба
    void closeMdiTab(int i);

    //Создание схемы
    void createSchemeClick();

    // Создание изображения fluffy
    void createImageClick();

    //Сообщить об ошибке
    void reportBugClick();

    //О программе
    void aboutClick();

    //Открыть документ в текущем окне
    void openDoc();

    //Сохранить документ текущего окна
    void saveDoc();

    //Закрыли панель элементов
    void elementsVisibleChanged(bool visiblity);

    //Активация окна документа
    void subWindowActivated(QMdiSubWindow* sub);
};

#endif // MAINWINDOW_H
